package wq.gdky005.custom;

import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;

public class CustomDialog {
	
	/**
	 * 可以使用下面的样式
	 * @author wangqing
	 * 2013-6-13
	 * 
	 * <?xml version="1.0" encoding="utf-8"?>  
		<resources>  
		    <style name="dialog" parent="@android:style/Theme.Dialog">  
		  
		        <!-- name是我们在使用时要用到的资源的标志，parent是指当前的样式所继承的父类样式 -->  
		        <item name="android:windowFrame">@null</item>  
		        <item name="android:windowIsFloating">true</item>  
		        <item name="android:windowIsTranslucent">false</item>  
		        <item name="android:windowNoTitle">true</item> <!-- 隐藏标题栏 -->  
		        <item name="android:background">#00000000</item>  
		        <item name="android:backgroundDimEnabled">false</item>  
		    </style>  
		</resources>  
	*/

	public interface IDialog {
		public void sure();

		public void cancel();
	}

	public static AlertDialog getMyDialog(Context context, String title,
			String msg, String okBtnText, String cancelBtnText, IDialog iDialog) {

		AlertDialog dialog = getMyDialog(context, msg, okBtnText,
				cancelBtnText, iDialog);
		dialog.setTitle(title);

		return dialog;
	}

	public static AlertDialog getMyDialog(Context context, String msg,
			String okBtnText, String cancelBtnText, final IDialog iDialog) {
		AlertDialog dialog = new AlertDialog.Builder(context)
				.setMessage(msg)
				.setPositiveButton(okBtnText,
						new DialogInterface.OnClickListener() {

							@Override
							public void onClick(DialogInterface dialog,
									int which) {
								iDialog.sure();
								dialog.dismiss();
							}
						})
				.setNegativeButton(cancelBtnText,
						new DialogInterface.OnClickListener() {

							@Override
							public void onClick(DialogInterface dialog,
									int which) {
								iDialog.cancel();
								dialog.dismiss();
							}
						}).create();

		return dialog;
	}

	//默认掉这个就可以搞定了！在主类里面 实现 IDialog 接口
	public static void popDialog(Context context, String msg, String okBtnText,
			String cancelBtnText, final IDialog iDialog) {
		getMyDialog(context, msg, okBtnText, cancelBtnText, iDialog).show();
	}

	public static void popDialog(Context context, int msgID, int okBtnResID,
			int cancelBtnResID, final IDialog iDialog) {
		popDialog(context, context.getResources().getString(msgID), context
				.getResources().getString(okBtnResID), context.getResources()
				.getString(cancelBtnResID), iDialog);
	}

	public static void popDialog(Context context, String title, String msg,
			int okBtnResID, int cancelBtnResID, final IDialog iDialog) {
		popDialog(context, title, msg,
				context.getResources().getString(okBtnResID), context
						.getResources().getString(cancelBtnResID), iDialog);
	}

	public static void popDialog(Context context, String title, int msgID,
			int okBtnResID, int cancelBtnResID, final IDialog iDialog) {
		popDialog(context, title, context.getResources().getString(msgID),
				context.getResources().getString(okBtnResID), context
						.getResources().getString(cancelBtnResID), iDialog);
	}

	public static void popDialog(Context context, String title, String msg,
			String okBtnText, String cancelBtnText, final IDialog iDialog) {
		getMyDialog(context, title, msg, okBtnText, cancelBtnText, iDialog)
				.show();
	}

}
